package cn.kmbeast.controller;

import cn.kmbeast.pojo.api.Result;
import cn.kmbeast.pojo.dto.query.extend.NewsSaveDto;
import cn.kmbeast.pojo.entity.NewsSave;
import cn.kmbeast.pojo.vo.NewsSaveVo;
import cn.kmbeast.service.NewsSaveService;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.List;

/**
 * 新闻收藏
 * @author liuzhikun
 */
@RestController
@RequestMapping("/news-save")
public class NewsSaveController {

    @Resource
    private NewsSaveService newsSaveService;


    /**
     * 实现咨询的收藏
     * @param newsSave  用户 id  咨询news 的id 以及收藏的时间
     * @return
     */
    @PostMapping("/save")
    public Result<Void> save(@RequestBody NewsSave newsSave) {
        return newsSaveService.save(newsSave);
    }

    /**
     * 查询用户收藏咨询的id列表
     *
     * @param newsSaveDto 接受用户的id
     * @return 将用户收藏的咨询返id回给用户
     */
    @PostMapping("/query")
    public Result<List<NewsSaveVo>> query(@RequestBody NewsSaveDto newsSaveDto) {
        return newsSaveService.query(newsSaveDto);
    }


    /**
     * 删除用户收藏咨询的id列表
     *
     * @param newsSaveDto 接受用户的id
     * @return 将用户收藏的咨询返id回给用户
     */
    @PostMapping("/delete")
    public  Result<Void> batchDelete(@RequestBody NewsSaveDto newsSaveDto) {
        return newsSaveService.delete(newsSaveDto);
    }

    /**
     * 批量删除用户收藏的咨询
     * @param ids 需要删除的收藏ids列表
     * @return 删除成功
     */

    @PostMapping("/batch-delete")
    public Result<Void> batchDelete(@RequestBody List<Long> ids) {
        return newsSaveService.batchDelete(ids);
    }

}
